import axios from 'axios'
import BaseApi from '@/api/BaseApi'
import config from '@/config'

/**
 * 报警记录接口
 */
export default class extends BaseApi {
  /**
   * 获取基础路径
   *
   * @return 基础路径
   */
  static basePath() {
    return (config.services.basebiz || '') + '/alarmRecord'
  }

  // 告警图片路径
  static basePath2() {
    return (config.services.pem || '') + '/alarmImage'
  }

  /**
   * 告警列表
   *
   * @param data 数据
   * @return 请求对象
   */
  static alarmRecordPage(params) {
    return axios.get(`${this.basePath()}/page`, { params })
  }

  /**
     * 告警列表
     *
     * @param params 查询参数
     * @return 请求对象
     */
  static alarmRecordList(params) {
    return axios.get(`${this.basePath()}/list`, { params })
  }

  /**
   * 确认报警
   *
   * @param data 数据
   * @return 请求对象
   */
  static confirm(data) {
    return axios.post(`${this.basePath()}/confirm`, data)
  }

  static batchConfirm(data) {
    const allReq = []

    data.forEach(item => {
      allReq.push(axios.post(`${this.basePath()}/confirm`, item))
    })
    return axios.all(allReq)
    // return axios.post(`${this.basePath()}/confirm`, data);
  }

  static batchCancel(data) {
    const allReq = []

    data.forEach(item => {
      allReq.push(axios.post(`${this.basePath()}/cancel`, item))
    })
    return axios.all(allReq)
    // return axios.post(`${this.basePath()}/confirm`, data);
  }

  /**
   * 取消报警
   *
   * @param data 数据
   * @return 请求对象
   */
  static cancel(data) {
    return axios.post(`${this.basePath()}/cancel`, data)
  }

  static expData(params) {
    return axios.get(`${this.basePath()}/expData`, {
      params,
      responseType: 'blob'
    })
  }

  // 获取告警图片list
  static alarmImageList(params) {
    return axios.get(`${this.basePath2()}/list`, { params })
  }

  // 获取告警类型
  static recordAlarmTypes(params) {
    return axios.get(`${this.basePath()}/recordAlarmTypes`, { params })
  }
}
